1. Field of the Invention
The present invention relates, in general, to a TV-Anytime service and, more particularly, to a method for providing requested fields by get_Data operation in TV-Anytime metadata service.
2. Description of the Related Art
Recently, as a digital broadcasting service has become popularized, research into technology for providing a customized broadcasting service in a multichannel multimedia environment has been actively carried out. For example, TV-Anytime, which is a nonofficial international standard, is a standard for providing an anytime service of allowing a user to match his or her preferences with metadata on the basis of the metadata including description information of contents, to store desired contents, and to freely watch desired broadcast contents at any time.
As described above, metadata, which is description information about contents, includes content-based description information defined in Moving Picture Experts Group (MPEG)-7 and Electronic Program Guide (EPG) information in TV-Anytime service, and allows a user to easily search for and select desired contents. The metadata standard is composed of two parts. Part A defines a format for representing metadata, that is, a schema, and utilizes extensible Markup Language (XML)-based MPEG-7 Description Definition Language (DDL) [International Organization for Standardization (ISO)/International Electrotechnical Commission (IEC) 15938-2]. Part B relates to the transmission of metadata and includes a binary format (MPEG-7 BiM: Binary Format for MPEG-7) (ISO/IEC 15938-1), a fragmentation model, an encapsulation mode and an indexing method.
FIG. 1 is a view showing the configuration of TV-Anytime metadata, which includes program description metadata and user description metadata. The program description metadata includes content description metadata and instance description metadata. Metadata for a single program are interrelated via a content identifier called a Content Reference Identifier (hereinafter referred to as a “CRID”).
Content description metadata is created by a content creator and includes a program title, genre, summary, critic's reviews, etc. Instance description metadata is created by a content provider and includes location [broadcast time, channel, Uniform Resource Locator (URL), etc.], usage rule, delivery parameter, etc. User description metadata includes user preference, usage history, personal bookmarks, etc., and is created by a user.
TV-Anytime standards define two-types of metadata Web services for bi-directional metadata services using a return path: one is a well-defined behavior and the other is a remote procedure for an input/output set. In extensible Markup Language (XML)-based Web Service Description Language (WSDL) standards, the above-described remote procedure is defined in the form of a Simple Object Access Protocol (hereinafter referred to as “SOAP”) operation, and includes a “get_Data” operation used to search for metadata and a “submit_Data” operation used for user description submission. For reference, the above-described SOAP is an XML-based communication protocol enabling access to an object in a distribution environment.
Request/response types used in the TV-Anytime metadata service are defined in a namespace of “urn:tva:transport:2002”, which is provided as a tool for verifying a variety of messages. Types defined in metadata specification and content referencing standards are referred to in a transport namespace. Schema fragments are defined by the above-described namespace, and a namespace provider is defined in the form of “tns:” in the schema fragments. A perfect XML schema file has a form of tva_transport_types_v10.xsd.
1. get_Data operation
The get_Data operation provides a function of allowing a client to search a server for TV-Anytime data about a program or a program group. Functions that can be provided by a TV-Anytime metadata provider using the get_Data operation are exemplified by the following description.                return content reference data for CRID using CRID list        return TV-Anytime metadata for CRID using CRID list        receive query for specific metadata attributes (for example, genre, actor, etc.) and return programs corresponding to the query        return corresponding programs in response to a query for a specific time or specific channel        
Referring to FIG. 2 in relation to the execution of a get_Data operation, a client transmits a SOAP request message [i.e. get_Data Request element of FIG. 3] using the get_Data operation to a metadata service server through the Internet [Internet Protocol (IP) network]. At this time, the get_Data operation supports all types of queries as a rule, and provides extensive queries for metadata constraints. Then, the metadata service server returns a query result value corresponding to the SOAP request message using a SOAP response message [get_Data Response element of FIG. 5].
a. Request Format
As shown in FIG. 3, a request format assigns three types of parameters to a client in the get_Data operation, and assigns an element type, returned as a query (search) result value, to the type of RequestedTables.
FIG. 4 shows an example in which the RequestedTables type, returned as a query result, is assigned to ClassificationSchemetable, ProgramInformationTable, GroupInformationTable, CreditsInformationTable, ProgramLocationTable, ServiceInformationTable, ProgramReviewTable, SegmentInformationTable, etc.
b. Response Format
As shown in FIG. 5, the response format of the get_Data operation includes 0 or at least one XML instance documents with respect to elements, such as, TVAMain, ContentReferencingTable, and InvalidFragments, and returns a query result value according to the type of RequestedTables requested in the request format.
2. submit_Data operation
In TV-Anytime's phase I standard, the submit_Data operation is limited to data defined by a set of anonymous profile data created by intelligent agents based on a usage service and contents or by manual input. A TV-Anytime forum respects and includes basic rights of all users and providers, and includes private rights of content users and legal rights of all participators, such as content creators, content providers and service providers.
3. get_Data operation using user information
In a current TV-Anytime service, service agents perform a get_Data operation using algorithms specific for each agent on the basis of user metadata transmitted through the submit_Data operation, and transmit corresponding results to users.
As described above, a get_Data operation, currently defined in TV-Anytime SP006 returns results obtained from a desired table or an element TVAMain through a search operation. That is, the search results for the get_Data operation are transmitted on an element “TVAMain” basis or on a table basis, such as “ProgramInformationTable”, “GroupInformationTable”, “ProgramLocationTable”, “ServiceInformationTable”, “CreditsInformationTable”, “ProgramReviewTable”, or “SegmentInformationTable”.
In the meantime, a set-top box can search for contents and can be provided with corresponding metadata using the get_Data operation in a bi-directional environment. However, as the set-top box has been developed into a home server, it can function as a metadata service agent in the home. In a terminal using limited resources, such as a portable media player, the provision of conventional table-based metadata may waste resources.
For example, if a query is performed using the conventional get_Data operation when it is assumed that metadata provided by a portable media player to a user environment are title, genre, location information and review information, ProgramInformationTable, ProgramLocationTable and ProgramReviewTable are requested as the values of RequestedTables, and the values of corresponding elements or attributes are parsed and then displayed on a User Interface (UI). Therefore, due to unnecessary metadata in respective tables, network resources transmitting the unnecessary metadata and resources used in the parsing operation of the portable media player are wasted.
Further, the search for the conventional get_Data operation performed on a table basis is problematic in that resources are wasted due to the transmission of unnecessary metadata and reparsing performed by a client when the client does not require all of the metadata in a table.